package com.zjsru.oneDay;

/**
 * @Author: likew
 * @Date: 2022/2/25
 *
 * 复数乘法
 *
 * 实部 是一个整数，取值范围是 [-100, 100]
 * 虚部 也是一个整数，取值范围是 [-100, 100]
 * i的平方 == -1
 *
 * 输入：num1 = "1+1i", num2 = "1+1i"
 * 输出："0+2i"
 * 解释：(1 + i) * (1 + i) = 1 + i^2 + 2 * i = 2i ，你需要将它转换为 0+2i 的形式。
 *
 *
 * 输入：num1 = "1+-1i", num2 = "1+-1i"
 * 输出："0+-2i"
 * 解释：(1 - i) * (1 - i) = 1 + i^2 - 2 * i = -2i ，你需要将它转换为 0+-2i 的形式。
 *
 */
public class complexNumberMultiply {
    public String complexNumberMultiply(String num1, String num2) {
        String[] n1 = num1.split("\\+|i");
        String[] n2 = num2.split("\\+|i");
        int a = parse(n1[0]), b = parse(n1[1]);
        int c = parse(n2[0]), d = parse(n2[1]);
        int A = a * c - b * d, B = b * c + a * d;
        return A +"+" +B+ "i";
    }

    private int parse(String s) {
        return Integer.parseInt(s);
    }

    public static void main(String[] args) {
        complexNumberMultiply complexNumberMultiply = new complexNumberMultiply();
        String num1 = "1+1i";
        String num2 = "1+1i";
        System.out.println(complexNumberMultiply.complexNumberMultiply(num1, num2));
    }
}
